package vgame

// @schema_export --ident=schema --json
// @schema_go
// @schema_ts --UseDataObject
// @cache_go
// @cache_ts
type V角色 struct {
	// 作为分表键，同一个玩家的数据应该散列到同在一个库
	// @alias 玩家
	W玩家 string `alias:"玩家"`
	// 用户字段不会变化，增加用户字段的冗余方便查找
	// @alias 用户
	Y用户 string `alias:"用户"`
	// @alias 游戏服
	Y游戏服 string `alias:"游戏服"`
	// @alias 公会
	G公会 string `alias:"公会"`
	// 角色的配置
	// @alias 配置
	P配置 string `alias:"配置"`
	// @alias 等级
	D等级 int `alias:"等级"`
	// @alias 头像
	T头像 string `alias:"头像"`
	// @alias 登陆时间
	// 单位:秒
	D登陆时间 int `alias:"登陆时间"`
	// 单位:秒
	// @alias 离线时间
	L离线时间 int `alias:"离线时间"`
	// @alias 名称
	M名称 string `alias:"名称"`
	// 角色的动态属性
	// @alias 角色属性
	J角色属性 map[string]float64 `alias:"角色属性"`
	// @alias 增益集
	Z增益集 map[string]*S增益数据 `alias:"增益集"`
	// 未领取标识->数据
	// @alias 未领取库
	W未领取库 map[string]*S未领取数据 `alias:"未领取库"`
	// @alias 得分
	S得分 map[string]*S得分 `alias:"得分" value:"{}"`
}

type S未领取数据 struct {
	// @alias 奖励列表
	J奖励列表 []*S未领取项 `alias:"奖励列表"`
	// @alias 更新时间
	G更新时间 int `alias:"更新时间"`
}

type S未领取项 struct {
	// @alias 资源
	Z资源 string `alias:"资源"`
	// @alias 卡片
	K卡片 string `alias:"卡片"`
	// @alias 数量
	S数量 int `alias:"数量"`
	// @alias 属性
	S属性 map[string]int `alias:"属性"`
}
